Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

deDirect3D9 Class Reference

#include <DDirect3D9.hpp>

Inheritance diagram for deDirect3D9:

Inheritance graph
[legend]
Collaboration diagram for deDirect3D9:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 deDirect3D9 (long ID)
 ~deDirect3D9 ()
long Release ()
 Delete the object.

deBoolean Init (HWND WindowHandle)
const deDriverCaps * GetCaps (long Adapter) const
 Fill a deDriverCaps structure with an adapter's device capabilities.

long GetAdapterCount () const
 Get the number of adapters supported under this driver.

long GetModeCount (long Adapter) const
 Get the number of modes for a particular adapter.

deBoolean WindowedAllowed (long Adapter) const
 Test whether windowed mode is allowed on a particular adapter.

deBoolean SetDisplay (deDisplay *Display)
deBoolean Reset (deDisplay *Display=NULL)
deBoolean GetCurrentDisplay (long Adapter, deDisplay *Display) const
deBoolean GetDisplayMode (long Adapter, long Mode, deDisplay *Display) const
deBoolean ValidFormat (long Adapter, Resource ResourceType, BPP BPPType, ZPP ZPPType, BPP FrontBuffer, long ExtraFlag) const
 Test for a valid format for various resource types.

deBoolean AddVertexBuffer (IdeVertexBuffer *Vertex)
 Add a vertex buffer to the driver.

deBoolean RemoveVertexBuffer (IdeVertexBuffer *Vertex)
 Remove a vertex buffer from the driver.

deBoolean UpdateVertexBuffer (IdeVertexBuffer *Vertex)
 Update a vertex buffer so the driver's internal data matches it.

deBoolean AddShader (IdeShader *Shader)
deBoolean SetShader (IdeShader *Shader)
deBoolean RemoveShader (IdeShader *Shader)
deBoolean BeginFrame ()
 Call before rendering anything.

deBoolean EndFrame ()
 Finish the render and update the front-buffer.

deBoolean ClearFrame (deARGB Color, deBoolean ClearTarget, deBoolean ClearZBuffer, deBoolean ClearStencil)
 Clear the frame with a particular color.

deBoolean Render (IdeVertexBuffer *Vertex, long IndexOffset, IdeVertexBuffer *IndexOverride)
 Render the selected Vertex Buffer to the back-buffer.

deBoolean SetViewport (long X, long Y, long Width, long Height, float MinZ, float MaxZ)
deBoolean SetDepthRange (deFloat MinZ, deFloat MaxZ)
deBoolean SetFOVClipping (float FOVY, float Aspect, float ClipNear, float ClipFar)
deBoolean SetOrthoClipping (float Width, float Height, float ClipNear, float ClipFar, deBoolean Invert)
deBoolean SetFOVClippingSubRect (deFloat FOVY, deFloat Aspect, deFloat ClipNear, deFloat ClipFar, deRect SubRect)
 Set up a perspective view transformation with a sub-rect specified in the [0,1] range.

deBoolean SetFOVClippingSubRectFloat (deFloat FOVY, deFloat Aspect, deFloat ClipNear, deFloat ClipFar, deFloatRect SubRect)
deBoolean SetOrthoClippingSubRect (deFloat Width, deFloat Height, deFloat ClipNear, deFloat ClipFar, deBoolean Invert, deRect SubRect)
 Set up an orthographic (parallel projection) view transformation with a sub-rect specified in the [0,1] range.

deBoolean SetOrthoClippingSubRectFloat (deFloat Width, deFloat Height, deFloat ClipNear, deFloat ClipFar, deBoolean Invert, deFloatRect SubRect)
deBoolean SetScissorRect (deRect ScissorRect)
deBoolean SetCameraTransform (deTransformInfo *M)
 Set the camera transform (position and orientation).

deBoolean SetCameraTransform (deVertex *Eye, deVertex *At, deVertex *Up)
deBoolean SetCameraTranslation (deVertex *Translation)
deBoolean SetCameraRotation (deVertex *Rotation)
deBoolean ResetCameraIdentity ()
deBoolean SetWorldTransform (deTransformInfo *Mat)
 Set the world transform (to take things from "object space" to "world space").

deBoolean SetWorldTransform (deVertex *Eye, deVertex *At, deVertex *Up)
deBoolean SetWorldTranslation (deVertex *Translation)
deBoolean SetWorldRotation (deVertex *Rotation)
deBoolean ResetWorldIdentity ()
deBoolean SetTextureTransform (long StageNum, deTransformInfo *Mat)
 Set the texture transform for a particular stage.

deBoolean AddBitmap (IdeBitmap *Bitmap)
 Adds a bitmap to the driver, turning it into a driver texture, and possibly a render-target.

deBoolean AddBitmapProxy (IdeBitmapProxy *BitmapProxy)
 Adds a bitmap to the driver, turning it into a driver texture, and possibly a render-target.

deBoolean RemoveBitmap (IdeBitmap *Bitmap)
 Removes a bitmap from a driver by deleting the internal driver texture.

deBoolean RenderTo (IdeBitmap *Bitmap, long CubeMapFace)
deBoolean ScreenShot (IdeBitmap *&pBitmap, deBoolean GrabWindow)
deBoolean GetVideoTexture (IdeBitmap *pBitmap, long CubeMapFace)
unsigned long GetRenderState (RenderState State)
 Get current value of the State passed in.

deBoolean SetRenderState (const IdeRenderState *State)
 Set a class-based render-state (texture, material, or light).

deBoolean SetRenderState (RenderState State, unsigned long Value)
 Set a value-based render-state.

deBoolean EnableLight (long LightID, deBoolean Enable)
deBoolean DisableAllLights ()
 Disable all fixed-function lights.

deDriverInfoGetInfo () const
 Get some information about the driver.

IdeDriver::Types GetType () const
 Get the type of driver this is.

void InvalidateRenderStates (deBoolean Valid)

Private Member Functions

void ReportErrorHR (HRESULT hr)
deBoolean TestDeviceStatus (deBoolean *DeviceCanReset)
deBoolean ResetDevice (D3DPRESENT_PARAMETERS *D3DParams)
deBoolean ReleaseVideoMemResources ()
deBoolean BuildD3DParams (deDisplay *Display, D3DPRESENT_PARAMETERS *D3DParams)
deBoolean SetTextureState (IdeRenderTexture *State)
deBoolean SetLightState (IdeRenderLight *State)
deBoolean SetMaterialState (IdeRenderMaterial *State)
deBoolean FillBufferInfo (VertexBufferEntry *BufferEntry, IdeVertexBuffer *Vertex, IdeVertexBuffer::BufferType BufferType, deBoolean WipeBuffer)
deBoolean ProcessVertexBuffer (IdeVertexBuffer *Vertex, VertexBufferEntry *VertexBufferInfo, long BufferFlags)
deBoolean CreateDefaultCachedTexture ()
VertexShaderEntryGetFixedFunctionShader (IdeVertexBuffer *Vertex)
VertexShaderEntryLookUpVertexDeclaration (long BufferFlags) const
VertexShaderEntryMakeVertexDeclaration (long BufferFlags)
long DeleteShaders ()
D3DFORMAT ToD3DBPP (IdeDriver::BPP BPPType) const
IdeDriver::BPP FromD3DBPP (D3DFORMAT BPPType) const
D3DFORMAT ToD3DZPP (IdeDriver::ZPP ZPPType) const
IdeDriver::ZPP FromD3DZPP (D3DFORMAT ZPPType) const
D3DMATERIALCOLORSOURCE ToD3DMatSource (IdeRenderMaterial::MatSource_t source) const

Private Attributes

D3DDISPLAYMODE ** s_DisplayModes
IDirect3DDevice9 * m_D3DDevice
deBoolean m_DeviceLost
deBoolean m_RenderStatesValid
deTList< VertexShaderEntrym_ShaderList
VertexShaderEntrym_LastShader
deBoolean m_TextureRendered
deBoolean m_LightsEnabled [deD3D9_MAX_LIGHTS]
IdeRenderTexturem_CachedTexture
long m_FrameNum
D3DMATRIX m_WorldMatrix
D3DMATRIX m_CameraMatrix
IdeRenderMaterial::MatSource_t m_AmbientSource
IdeRenderMaterial::MatSource_t m_EmissiveSource
IdeRenderMaterial::MatSource_t m_DiffuseSource
IdeRenderMaterial::MatSource_t m_SpecularSource
deTHashInt< IdeBitmap * > m_TexturesList
deTHashInt< IdeVertexBuffer * > m_VBufferList
LPDIRECT3DSURFACE9 m_pZBuffer
IdeBitmapm_pCurrentTarget

Static Private Attributes

long s_AdapterCount = 0
int * s_ModeCount = 0
deBooleans_WindowPossible = 0
HINSTANCE s_libD3D9 = 0
LPDIRECT3D9 s_D3D = 0
D3DCAPS9 * s_DevCaps = 0
deDriverCaps * s_Caps = 0
long s_NumDevices = 0

Constructor & Destructor Documentation

deDirect3D9::deDirect3D9 long    ID
 

deDirect3D9::~deDirect3D9  
 


Member Function Documentation

deBoolean deDirect3D9::AddBitmap IdeBitmap   Bitmap [virtual]
 

Adds a bitmap to the driver, turning it into a driver texture, and possibly a render-target.

Implements deDriver.

deBoolean deDirect3D9::AddBitmapProxy IdeBitmapProxy   BitmapProxy [virtual]
 

Adds a bitmap to the driver, turning it into a driver texture, and possibly a render-target.

Implements deDriver.

deBoolean deDirect3D9::AddShader IdeShader   Shader [virtual]
 

Implements deDriver.

deBoolean deDirect3D9::AddVertexBuffer IdeVertexBuffer   Vertex [virtual]
 

Add a vertex buffer to the driver.

Implements deDriver.

deBoolean deDirect3D9::BeginFrame   [virtual]
 

Call before rendering anything.

Implements deDriver.

deBoolean deDirect3D9::BuildD3DParams deDisplay *    Display,
D3DPRESENT_PARAMETERS *    D3DParams
[private]
 

deBoolean deDirect3D9::ClearFrame deARGB    Color,
deBoolean    ClearTarget,
deBoolean    ClearZBuffer,
deBoolean    ClearStencil
[virtual]
 

Clear the frame with a particular color.

Implements deDriver.

deBoolean deDirect3D9::CreateDefaultCachedTexture   [private]
 

long deDirect3D9::DeleteShaders   [private]
 

deBoolean deDirect3D9::DisableAllLights   [virtual]
 

Disable all fixed-function lights.

Implements deDriver.

deBoolean deDirect3D9::EnableLight long    LightID,
deBoolean    Enable
[virtual]
 

Implements deDriver.

deBoolean deDirect3D9::EndFrame   [virtual]
 

Finish the render and update the front-buffer.

Implements deDriver.

deBoolean deDirect3D9::FillBufferInfo VertexBufferEntry   BufferEntry,
IdeVertexBuffer   Vertex,
IdeVertexBuffer::BufferType    BufferType,
deBoolean    WipeBuffer
[private]
 

IdeDriver::BPP deDirect3D9::FromD3DBPP D3DFORMAT    BPPType const [private]
 

IdeDriver::ZPP deDirect3D9::FromD3DZPP D3DFORMAT    ZPPType const [private]
 

long deDirect3D9::GetAdapterCount   const [virtual]
 

Get the number of adapters supported under this driver.

Implements deDriver.

const IdeDriver::deDriverCaps * deDirect3D9::GetCaps long    Adapter const [virtual]
 

Fill a deDriverCaps structure with an adapter's device capabilities.

Implements deDriver.

deBoolean deDirect3D9::GetCurrentDisplay long    Adapter,
deDisplay *    Display
const [virtual]
 

Fill a deDisplay with an adapter's CURRENT (even un-renderable) display settings. If a fullscreen rendering mode has not been set up, this will be the desktop settings.

Implements deDriver.

deBoolean deDirect3D9::GetDisplayMode long    Adapter,
long    Mode,
deDisplay *    Display
const [virtual]
 

Feed in a display struct to be filled in for the enumerated mode

Parameters:
Display [in, out] pointer to a user-created deDisplay struct to be filled in, may not be NULL

Implements deDriver.

deDirect3D9::VertexShaderEntry * deDirect3D9::GetFixedFunctionShader IdeVertexBuffer   Vertex [private]
 

deDriverInfo * deDirect3D9::GetInfo   const [virtual]
 

Get some information about the driver.

Implements deDriver.

long deDirect3D9::GetModeCount long    Adapter const [virtual]
 

Get the number of modes for a particular adapter.

Implements deDriver.

unsigned long deDirect3D9::GetRenderState RenderState    State [virtual]
 

Get current value of the State passed in.

Implements deDriver.

IdeDriver::Types deDirect3D9::GetType   const [virtual]
 

Get the type of driver this is.

Implements deDriver.

deBoolean deDirect3D9::GetVideoTexture IdeBitmap   pBitmap,
long    CubeMapFace
[virtual]
 

Implements deDriver.

deBoolean deDirect3D9::Init HWND    WindowHandle [virtual]
 

Implements deDriver.

void deDirect3D9::InvalidateRenderStates deBoolean    Valid [virtual]
 

Implements deDriver.

deDirect3D9::VertexShaderEntry * deDirect3D9::LookUpVertexDeclaration long    BufferFlags const [private]
 

deDirect3D9::VertexShaderEntry * deDirect3D9::MakeVertexDeclaration long    BufferFlags [private]
 

deBoolean deDirect3D9::ProcessVertexBuffer IdeVertexBuffer   Vertex,
VertexBufferEntry   VertexBufferInfo,
long    BufferFlags
[private]
 

long deDirect3D9::Release   [virtual]
 

Delete the object.

Implements IdeDriver.

deBoolean deDirect3D9::ReleaseVideoMemResources   [private]
 

deBoolean deDirect3D9::RemoveBitmap IdeBitmap   Bitmap [virtual]
 

Removes a bitmap from a driver by deleting the internal driver texture.

Implements deDriver.

deBoolean deDirect3D9::RemoveShader IdeShader   Shader [virtual]
 

Implements deDriver.

deBoolean deDirect3D9::RemoveVertexBuffer IdeVertexBuffer   Vertex [virtual]
 

Remove a vertex buffer from the driver.

Implements deDriver.

deBoolean deDirect3D9::Render IdeVertexBuffer   Vertex,
long    IndexOffset,
IdeVertexBuffer   IndexOverride
[virtual]
 

Render the selected Vertex Buffer to the back-buffer.

Implements deDriver.

deBoolean deDirect3D9::RenderTo IdeBitmap   Bitmap,
long    CubeMapFace
[virtual]
 

Sets the current render-target to the bitmap passed in, if the bitmap can be a render-target.

Parameters:
pBitmap [in] Bitmap that is a render-target to be rendered to. This bitmap will only act as a handle to the internal driver texture being used, it doesn't contain a copy of what the video card's texture stores

Implements deDriver.

void deDirect3D9::ReportErrorHR HRESULT    hr [private]
 

deBoolean deDirect3D9::Reset deDisplay *    Display = NULL [virtual]
 

Reset the driver, possibly with altered display properties. Resetting will cause all vertex buffers and textures to be flushed

Parameters:
Display [in] user-defined display settings, may be NULL to keep current settings

Implements deDriver.

deBoolean deDirect3D9::ResetCameraIdentity   [virtual]
 

Implements deDriver.

deBoolean deDirect3D9::ResetDevice D3DPRESENT_PARAMETERS *    D3DParams [private]
 

deBoolean deDirect3D9::ResetWorldIdentity   [virtual]
 

Implements deDriver.

deBoolean deDirect3D9::ScreenShot IdeBitmap *&    pBitmap,
deBoolean    GrabWindow
[virtual]
 

Copies the frontbuffer into the bitmap specified cannot be a render-target

Parameters:
pBitmap [out] Bitmap pointer that is to have the screen data copied into. A new deBitmap object will be created internally, and its address stored into this parameter. After the data is copied, you must save the file to disk manually, if desired.

Implements deDriver.

deBoolean deDirect3D9::SetCameraRotation deVertex   Rotation [virtual]
 

Implements deDriver.

deBoolean deDirect3D9::SetCameraTransform deVertex   Eye,
deVertex   At,
deVertex   Up
[virtual]
 

Implements deDriver.

deBoolean deDirect3D9::SetCameraTransform deTransformInfo   M [virtual]
 

Set the camera transform (position and orientation).

Implements deDriver.

deBoolean deDirect3D9::SetCameraTranslation deVertex   Translation [virtual]
 

Implements deDriver.

deBoolean deDirect3D9::SetDepthRange deFloat    MinZ,
deFloat    MaxZ
[virtual]
 

Implements IdeDriver.

deBoolean deDirect3D9::SetDisplay deDisplay *    Display [virtual]
 

Set the display up, creating a new internal render device

Parameters:
Display [in] user-defined display settings, may not be NULL

Implements deDriver.

deBoolean deDirect3D9::SetFOVClipping float    FOVY,
float    Aspect,
float    ClipNear,
float    ClipFar
 

deBoolean deDirect3D9::SetFOVClippingSubRect deFloat    FOVY,
deFloat    Aspect,
deFloat    ClipNear,
deFloat    ClipFar,
deRect    SubRect
[virtual]
 

Set up a perspective view transformation with a sub-rect specified in the [0,1] range.

Implements deDriver.

deBoolean deDirect3D9::SetFOVClippingSubRectFloat deFloat    FOVY,
deFloat    Aspect,
deFloat    ClipNear,
deFloat    ClipFar,
deFloatRect    SubRect
[virtual]
 

Implements deDriver.

deBoolean deDirect3D9::SetLightState IdeRenderLight   State [private]
 

deBoolean deDirect3D9::SetMaterialState IdeRenderMaterial   State [private]
 

deBoolean deDirect3D9::SetOrthoClipping float    Width,
float    Height,
float    ClipNear,
float    ClipFar,
deBoolean    Invert
 

deBoolean deDirect3D9::SetOrthoClippingSubRect deFloat    Width,
deFloat    Height,
deFloat    ClipNear,
deFloat    ClipFar,
deBoolean    Invert,
deRect    SubRect
[virtual]
 

Set up an orthographic (parallel projection) view transformation with a sub-rect specified in the [0,1] range.

Implements deDriver.

deBoolean deDirect3D9::SetOrthoClippingSubRectFloat deFloat    Width,
deFloat    Height,
deFloat    ClipNear,
deFloat    ClipFar,
deBoolean    Invert,
deFloatRect    SubRect
[virtual]
 

Implements deDriver.

deBoolean deDirect3D9::SetRenderState RenderState    State,
unsigned long    Value
[virtual]
 

Set a value-based render-state.

Implements deDriver.

deBoolean deDirect3D9::SetRenderState const IdeRenderState   State [virtual]
 

Set a class-based render-state (texture, material, or light).

Implements deDriver.

deBoolean deDirect3D9::SetScissorRect deRect    ScissorRect [virtual]
 

Implements deDriver.

deBoolean deDirect3D9::SetShader IdeShader   Shader [virtual]
 

Implements deDriver.

deBoolean deDirect3D9::SetTextureState IdeRenderTexture   State [private]
 

deBoolean deDirect3D9::SetTextureTransform long    StageNum,
deTransformInfo   Mat
[virtual]
 

Set the texture transform for a particular stage.

Implements IdeDriver.

deBoolean deDirect3D9::SetViewport long    X,
long    Y,
long    Width,
long    Height,
float    MinZ,
float    MaxZ
 

deBoolean deDirect3D9::SetWorldRotation deVertex   Rotation [virtual]
 

Implements deDriver.

deBoolean deDirect3D9::SetWorldTransform deVertex   Eye,
deVertex   At,
deVertex   Up
[virtual]
 

Implements deDriver.

deBoolean deDirect3D9::SetWorldTransform deTransformInfo   Mat [virtual]
 

Set the world transform (to take things from "object space" to "world space").

Implements deDriver.

deBoolean deDirect3D9::SetWorldTranslation deVertex   Translation [virtual]
 

Implements deDriver.

deBoolean deDirect3D9::TestDeviceStatus deBoolean   DeviceCanReset [private]
 

D3DFORMAT deDirect3D9::ToD3DBPP IdeDriver::BPP    BPPType const [private]
 

D3DMATERIALCOLORSOURCE deDirect3D9::ToD3DMatSource IdeRenderMaterial::MatSource_t    source const [private]
 

D3DFORMAT deDirect3D9::ToD3DZPP IdeDriver::ZPP    ZPPType const [private]
 

deBoolean deDirect3D9::UpdateVertexBuffer IdeVertexBuffer   Vertex [virtual]
 

Update a vertex buffer so the driver's internal data matches it.

Implements deDriver.

deBoolean deDirect3D9::ValidFormat long    Adapter,
Resource    ResourceType,
BPP    BPPType,
ZPP    ZPPType,
BPP    FrontBuffer,
long    ExtraFlag
const [virtual]
 

Test for a valid format for various resource types.

Implements deDriver.

deBoolean deDirect3D9::WindowedAllowed long    Adapter const [virtual]
 

Test whether windowed mode is allowed on a particular adapter.

Implements deDriver.


Member Data Documentation

IdeRenderMaterial::MatSource_t deDirect3D9::m_AmbientSource [private]
 

IdeRenderTexture* deDirect3D9::m_CachedTexture [private]
 

D3DMATRIX deDirect3D9::m_CameraMatrix [private]
 

IDirect3DDevice9* deDirect3D9::m_D3DDevice [private]
 

deBoolean deDirect3D9::m_DeviceLost [private]
 

IdeRenderMaterial::MatSource_t deDirect3D9::m_DiffuseSource [private]
 

IdeRenderMaterial::MatSource_t deDirect3D9::m_EmissiveSource [private]
 

long deDirect3D9::m_FrameNum [private]
 

VertexShaderEntry* deDirect3D9::m_LastShader [private]
 

deBoolean deDirect3D9::m_LightsEnabled[deD3D9_MAX_LIGHTS] [private]
 

IdeBitmap* deDirect3D9::m_pCurrentTarget [private]
 

LPDIRECT3DSURFACE9 deDirect3D9::m_pZBuffer [private]
 

deBoolean deDirect3D9::m_RenderStatesValid [private]
 

deTList<VertexShaderEntry> deDirect3D9::m_ShaderList [private]
 

IdeRenderMaterial::MatSource_t deDirect3D9::m_SpecularSource [private]
 

deBoolean deDirect3D9::m_TextureRendered [private]
 

deTHashInt<IdeBitmap*> deDirect3D9::m_TexturesList [private]
 

deTHashInt<IdeVertexBuffer*> deDirect3D9::m_VBufferList [private]
 

D3DMATRIX deDirect3D9::m_WorldMatrix [private]
 

long deDirect3D9::s_AdapterCount = 0 [static, private]
 

IdeDriver::deDriverCaps * deDirect3D9::s_Caps = 0 [static, private]
 

LPDIRECT3D9 deDirect3D9::s_D3D = 0 [static, private]
 

D3DCAPS9 * deDirect3D9::s_DevCaps = 0 [static, private]
 

D3DDISPLAYMODE** deDirect3D9::s_DisplayModes [private]
 

HINSTANCE deDirect3D9::s_libD3D9 = 0 [static, private]
 

int * deDirect3D9::s_ModeCount = 0 [static, private]
 

long deDirect3D9::s_NumDevices = 0 [static, private]
 

deBoolean * deDirect3D9::s_WindowPossible = 0 [static, private]
 


The documentation for this class was generated from the following files:
Generated on Mon Sep 12 20:13:59 2005 for Destiny3D by doxygen1.3-rc3